package com.bigcat.gulimall.demo.mongo.service;


import com.bigcat.gulimall.demo.mongo.entity.Member;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;


/**
 * 业务层
 *
 * @author sufer_yuan
 * @since 2021-09-24 16:38:43
 */
public interface MemberService {

    void save(Member member);

    void deleteById(String id);

    Member findById(String id);

    /**
     * 采用继承MongoRepository方式
     *
     * @return
     */
    List<Member> findAll();

    Page<Member> list(Pageable page);

    /**
     * 采用mongotemptate方式
     *
     * @return
     */
    List<Member> templateList();

    /**
     * 分页查询
     *
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<Member> pageList(Integer pageNum, Integer pageSize);

    /**
     * 聚合查询
     */
    List<Object> aggQuery();
}

